Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems have facilitated increased productivity and reduced costs in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. For example, digital cameras have had a significant impact on the field of photography and usually offer a number of features that enhance image quality. Nevertheless, there are several phenomena such as flicker or running bands in an image frame that can adversely impact results. Setting a rolling shutter time to a multiple of a corresponding illumination variation (e.g., 1/100 seconds or 1/120 seconds) often mitigates adverse impacts associated with the flicker bands. However, determining the illumination variance frequency is usually very difficult and often susceptible to a number of inaccuracies.
A rolling shutter approach is often utilized by a variety of devices (e.g., a CMOS imagers) to control the optical integration time. Rolling shutter approaches typically enable an equal optical integration time to be achieved for pixels in an image frame however this optical integration does not typically happen for all pixels simultaneously. The actual interval used for integration is usually dependent on the vertical position of the pixel in an image frame. Rolling shutter approaches typically utilize at least two pointers, a reset pointer and a read pointer, to define shutter width. Shutter width is the number of lines (“distance”) between the two pointers. These pointers continuously move through the pixel array image frame from top to bottom, jumping from line to line at timed intervals. The reset pointer typically starts the integration for pixels in a line, and subsequently, the read pointer reaches the same line and initiates signal readout. Shutter width multiplied by the line time gives the duration of the optical integration time. If the illumination intensity of the light source does not remain constant over time, rolling shutter methods of integration time control can lead to the possibility of flicker or “running bands” in the image frame.
Flicker band issues are typically caused by scene illumination sources with varying light intensity. For example, illumination intensity usually fluctuates in light sources driven by alternating current (AC) supply power. The light intensity of AC powered light sources (e.g., fluorescent lamps) usually is enveloped by a 100 Hz or 120 Hz wave if the power source is operating at 50 Hz or 60 Hz correspondingly. If the video rate is 15 frames per second, there could be six (50 Hz power) or eight (60 Hz power) flicker dark bands overlying the preview image.
Determining the illumination variance frequency is traditionally resource intensive and difficult. A straightforward frequency transform (e.g., FFT) of the image frame consumes significant amounts of computation resources and the results can be relatively easily corrupted by the image content. Some traditional attempts at detecting mismatches between the frequency of an illumination source and the duration of optical integration time for an imager with rolling shutter involve detecting a sine image fluctuation in the difference of the two consecutive image frames. However, these approaches are often limited by averages from a single line or row of an image. In addition, a slight vertical shift in the camera such as the shaking hand of a photographer, could greatly deteriorate the results. Relatively low confidence levels associated with these traditional approaches are exacerbated by the utilization of zero crossing point estimation of flicker wave periods.